Vapi Metadata Metamodel ComponentData
The Vapi Metadata Metamodel ComponentData schema contains the metamodel metadata information of a component element along with its fingerprint.
{
"info": {
"name": "string",
"packages": {
"packages": {
"name": "string",
"structures": {
"structures": {
"name": "string",
"type": "string",
"enumerations": {
"enumerations": {
"name": "string",
"values": [
{
"value": "string",
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"constants": {
"constants": {
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"value": {
"category": "string",
"primitive_value": {
"type": "string",
"boolean_value": false,
"double_value": "number",
"long_value": 0,
"string_value": "string"
},
"list_value": [
{
"type": "string",
"boolean_value": false,
"double_value": "number",
"long_value": 0,
"string_value": "string"
}
]
},
"documentation": "string"
}
},
"fields": [
{
"name": "string",
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"enumerations": {
"enumerations": {
"name": "string",
"values": [
{
"value": "string",
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"services": {
"services": {
"name": "string",
"operations": {
"operations": {
"name": "string",
"params": [
{
"name": "string",
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"output": {
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
},
"errors": [
{
"structure_id": "string",
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"structures": {
"structures": {
"name": "string",
"type": "string",
"enumerations": {
"enumerations": {
"name": "string",
"values": [
{
"value": "string",
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"constants": {
"constants": {
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"value": {
"category": "string",
"primitive_value": {
"type": "string",
"boolean_value": false,
"double_value": "number",
"long_value": 0,
"string_value": "string"
},
"list_value": [
{
"type": "string",
"boolean_value": false,
"double_value": "number",
"long_value": 0,
"string_value": "string"
}
]
},
"documentation": "string"
}
},
"fields": [
{
"name": "string",
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"enumerations": {
"enumerations": {
"name": "string",
"values": [
{
"value": "string",
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
],
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"constants": {
"constants": {
"type": {
"category": "string",
"builtin_type": "string",
"user_defined_type": {
"resource_type": "string",
"resource_id": "string"
},
"generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
},
"value": {
"category": "string",
"primitive_value": {
"type": "string",
"boolean_value": false,
"double_value": "number",
"long_value": 0,
"string_value": "string"
},
"list_value": [
{
"type": "string",
"boolean_value": false,
"double_value": "number",
"long_value": 0,
"string_value": "string"
}
]
},
"documentation": "string"
}
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
}
},
"metadata": {
"metadata": {
"elements": {
"elements": {
"type": "string",
"long_value": 0,
"string_value": "string",
"list_value": [
"string"
],
"structure_id": "string",
"structure_ids": [
"string"
]
}
}
}
},
"documentation": "string"
},
"fingerprint": "string"
}
Metamodel information of the component element. This includes information about all the package elements contained in this component element.
The metamodel information about a component could be quite large if there are a lot of package elements contained in this component.
Fingerprint of the metamodel metadata of the component component.
Metamodel information could change when there is an infrastructure update and new functionality is added to an existing component.
Since the data present in Vapi Metadata Metamodel ComponentData.info could be quite large, fingerprint provides a convenient way to check if the data for a particular component is updated.
You should store the fingerprint associated with a component. After an update, by invoking the GET /vapi/metadata/metamodel/component/{componentId}/fingerprint operation, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can use the GET /vapi/metadata/metamodel/component/{componentId} to retrieve the new metamodel information for the component.